package com.llbnk.service;

import com.llbnk.pojo.model.PromoModel;

/**
 * @author llbnk
 * @create 2022-08-22 14:54
 */
public interface PromoService {

    //根据商品id获取即将进行以及正在进行的活动信息
    PromoModel getPromoByItemId(Integer itemId);

    //活动发布同步库存进缓存
    void publishPromo(Integer promoId);

    //生成秒杀用的令牌
    /**秒杀接口需要依靠令牌才能进入，对应的秒杀下单接口需要新增一个入参
    表示对应前端用户获得传入的一个令牌，只有令牌处于合法之后，才能进入对应的秒杀下单的逻辑
     秒杀令牌由秒杀活动模块负责生成，交易系统仅仅验证令牌的可靠性
     以此来判断对应的秒杀接口是否可以被这次http的request进入
     秒杀活动模块对秒杀令牌生成全权处理，逻辑收口
     秒杀下单前需要获得秒杀令牌才能开始秒杀*/
    String generateSecondKillToken(Integer promoId,Integer itemId,Integer userId);
}